﻿package mortal.game.scene3D.player.entity
{
    import mortal.game.scene3D.layer3D.*;
    import mortal.game.scene3D.player.info.*;

    public interface IEntity extends IGame2D, IEventDispatcher
    {

        public function IEntity();

        function get entityID() : String;

        function get type() : int;

        function set selected(param1:Boolean) : void;

        function get selected() : Boolean;

        function get entityInfo() : EntityInfo;

        function setAction(param1:String, param2:String, param3:Boolean = false) : void;

        function get actionName() : String;

        function walking(param1:Array) : void;

        function hurt(param1:int) : void;

        function get isDead() : Boolean;

        function set isDead(param1:Boolean) : void;

        function updateHeadContainer() : void;

        function talk(param1:String, param2:Number = 5000) : void;

        function clearTalk() : void;

        function updateTalkXY() : void;

        function addToStage(param1:SLayer3D) : Boolean;

        function removeFromStage(param1:SLayer3D, param2:Boolean = false) : Boolean;

        function get toRoleDistance() : Number;

    }
}
